{
 "metadata": {
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3-final"
  },
  "orig_nbformat": 2,
  "kernelspec": {
   "name": "python3",
   "display_name": "Python 3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2,
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": "<Figure size 720x576 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     }
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": "<Figure size 720x576 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "source": [
    "#用于绘图\n",
    "import matplotlib.pyplot as plt\n",
    "#从pyplot导入MultipleLocator类，这个类用于设置刻度间隔\n",
    "from matplotlib.pyplot import MultipleLocator\n",
    "\n",
    "def showPositionGraph():\n",
    "    plt.title(\"position\")\n",
    "    plt.plot(timeList, positionList, color='red', label='position', linewidth=0.8)\n",
    "    plt.plot(timeList,targetList, color='green', label='target', linewidth=0.8)\n",
    "    # 获取坐标轴实例\n",
    "    ax = plt.gca()\n",
    "    y_major_locator = MultipleLocator(0.5)\n",
    "    ax.yaxis.set_major_locator(y_major_locator)\n",
    "    # 设置图像大小\n",
    "    plt.rcParams['figure.figsize'] = (10.0, 8.0)\n",
    "    # 显示图像\n",
    "    plt.show()\n",
    "\n",
    "def showSpeedGraph():\n",
    "    plt.title(\"speed\")\n",
    "    plt.plot(timeList, speedList, color='blue', label='speed')\n",
    "    # 获取坐标轴实例\n",
    "    ax = plt.gca()\n",
    "    y_major_locator = MultipleLocator(0.1)\n",
    "    ax.yaxis.set_major_locator(y_major_locator)\n",
    "    # 设置图像大小\n",
    "    plt.rcParams['figure.figsize'] = (10.0, 8.0)\n",
    "    plt.show()\n",
    "\n",
    "# 时间列表\n",
    "timeList = []\n",
    "# 速度列表\n",
    "speedList = []\n",
    "# 位置列表\n",
    "positionList = []\n",
    "# 目标位置参考线\n",
    "targetList = []\n",
    "\n",
    "# 时间\n",
    "t = 0\n",
    "\n",
    "# 当前位置\n",
    "curPosition = 0\n",
    "# 小车速度\n",
    "speed = 0\n",
    "# 上一次速度\n",
    "speedLast = 0\n",
    "\n",
    "# 目标距离\n",
    "targetPosition = 10\n",
    "# 最大速度限制\n",
    "maxSpeed = 2\n",
    "\n",
    "# 当前误差\n",
    "err = 0\n",
    "# 上次误差\n",
    "errLast = 0\n",
    "# 累计误差\n",
    "errSum = 0\n",
    "\n",
    "# 比例调节系数\n",
    "kp = 1\n",
    "# 积分调节系数\n",
    "ki = 0.000001\n",
    "# 微分调节系数\n",
    "kd = 0.1\n",
    "\n",
    "while 1:\n",
    "    # 计算当前距离与目标距离的误差\n",
    "    err = targetPosition - curPosition\n",
    "    # 距离根据pid公式调节速度\n",
    "    speed = err * kp + errSum * ki + (err - errLast) * kd\n",
    "\n",
    "    # 速度限幅\n",
    "    if speed > maxSpeed:\n",
    "        speed = maxSpeed\n",
    "    elif speed < -maxSpeed:\n",
    "        speed = -maxSpeed\n",
    "\n",
    "    # 保存上一次误差值\n",
    "    errLast = err\n",
    "    # 累计误差\n",
    "    errSum += err\n",
    "    # 时间加一\n",
    "    t += 1\n",
    "\n",
    "    # 如果足以克服摩擦力\n",
    "    if abs(speed) > 0.05:\n",
    "        curPosition += speed * 0.002\n",
    "\n",
    "    timeList.append(t)\n",
    "    positionList.append(curPosition)\n",
    "    speedList.append(speed)\n",
    "    targetList.append(10)\n",
    "\n",
    "    if t>=20000:\n",
    "        break\n",
    "\n",
    "showPositionGraph()\n",
    "\n",
    "showSpeedGraph()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ]
}